#include<stdio.h>

#define NUM 1024
#define BUFF_NONE 0x1 //无缓冲
#define BUFF_LINE 0x2 //行缓冲
#define BUFF_ALL 0x4 //全缓冲

//自定义的文件接口体，C语言中的是FILE
typedef struct _MY_FILE
{
    //包含文件描述符
    int fd;
    //文件缓冲区:定义缓冲区最多可以存储1024个字符
    char outputbuffer[NUM];
    //刷新方式，flush method
    int flags;
    //记录现在写到缓冲区的哪个位置了：缓冲区最后一个数据的下一个位置
    int current;
} MY_FILE;

//函数声明

//实现方式：利用系统底层的open,write,read函数进行封装自己的C库文件函数
MY_FILE* my_fopen(const char* path, const char* mode);//封装自己的fopen函数
size_t my_fwrite(const void* ptr, size_t size, size_t nmemb, MY_FILE* stream);//封装自己的fwrite函数
int my_fclose(MY_FILE* fp);//封装自己的fclose函数
int my_fflush(MY_FILE* fp); //封装自己的刷新缓冲区函数
